package cn.fl.riskctrl.ysdb.transform;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.riskctrl.ysdb.vo.YsejdEntryDVO;
import fl.riskctrl.facade.ysdb.dto.YsejdEntryDDTO;

 /**
 * @Description: 元素企业司法数据-被查询企业详细信息列表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class YsejdEntryDVOTransform {
     /**
      * DTO 转  VO
      * @param dto YsejdEntryDDTO
      * @return YsejdEntryDVO
      */
     public static YsejdEntryDVO baseToVO(YsejdEntryDDTO dto) {
         YsejdEntryDVO  vo = null;
         if (dto != null) {
             vo = new YsejdEntryDVO();
             vo.setId(dto.getId());
             vo.setYsejdEnteyListId(dto.getYsejdEnteyListId());//企业信息列表ID
             vo.setEntryId(dto.getEntryId());//详情ID
             vo.setResponseCode(dto.getResponseCode());//返回响应代码
             vo.setResponseMsg(dto.getResponseMsg());//返回响应代码说明
             vo.setDataType(dto.getDataType());//数据类型
             vo.setDataTypeId(dto.getDataTypeId());//数据类型ID
             vo.setMember(dto.getMember());//法庭成员
             vo.setSortTm(new Date(dto.getSortTm()));//立案时间

             vo.setClerkPhone(dto.getClerkPhone());//当值员电话
             vo.setCaseType(dto.getCaseType());//案件类别

             vo.setBody(dto.getBody());//内容

             vo.setTrialProcedure(dto.getTrialProcedure());//审理程序

             vo.setSentencingTm(dto.getSentencingTm());//判决日期

             vo.setOrganizer(dto.getOrganizer());//组织者
             vo.setFilingTm(dto.getFilingTm());//归档日期

             vo.setCourt(dto.getCourt());//法院名称
             vo.setAjlcStatus(dto.getAjlcStatus());//审理状态
             vo.setChiefJudge(dto.getChiefJudge());//主要法官
             vo.setCaseCause(dto.getCaseCause());//案由

             vo.setTrialLimitTm(dto.getTrialLimitTm());//审判限制日期
             vo.setClerk(dto.getClerk());//书记员

             vo.setJudge(dto.getJudge());//法官
             vo.setActionObject(dto.getActionObject());//诉讼标的
             vo.setPname(dto.getPname());//当事人

             vo.setCaseNo(dto.getCaseNo());//案号

             vo.setEffectiveTm(dto.getEffectiveTm());//有效日期

             vo.setBgTm(dto.getBgTm());//曝光日期
             vo.setPartyType(dto.getPartyType());//当事人类型
             vo.setProposer(dto.getProposer());//申请人
             vo.setIdcardNo(dto.getIdcardNo());//身份证/组织机构代码
             vo.setUnnexeMoney(dto.getUnnexeMoney());//未执行金额

             vo.setAddress(dto.getAddress());//地址
             vo.setYiwu(dto.getYiJu());//依据
             vo.setExecMoney(dto.getExecMoney());//标的金额

             vo.setAnYou(dto.getAnYou());//案由编码
             vo.setTitle(dto.getTitle());//标题

             vo.setJudgeResult(dto.getJudgeResult());//判决结果
             vo.setAnYouType(dto.getAnYouType());//案由编码类型

             vo.setCourtRank(dto.getCourtRank());//法院等级
             vo.setLayout(dto.getLayout());//版面
             vo.setGgType(dto.getGgType());//公告类型

             vo.setPlaintiff(dto.getPlaintiff());//原告
             vo.setCourtroom(dto.getCourtroom());//法庭名称
             vo.setDefendant(dto.getDefendant());//被告
             vo.setSex(dto.getSex());//性别
             vo.setLxqk(dto.getLxqk());//被执行人的履行情况

             vo.setYjCode(dto.getYjCode());//执行依据文号

             vo.setYjdw(dto.getYjdw());//做出执行依据单位

             vo.setJtqx(dto.getJtqx());//失信被执行人行为具体情形
             vo.setYiwu(dto.getYiwu());//生效法律文书确定的义务
             vo.setAge(dto.getAge());//年龄

             vo.setProvince(dto.getProvince());//省份

             vo.setPostTm(dto.getPostTm());//发布时间


             vo.setCrtTm(dto.getCrtTm());//创建时间
             vo.setCrtUsrId(dto.getCrtUsrId());//创建人
             vo.setMdfTm(dto.getMdfTm());//修改时间
             vo.setMdfUsrId(dto.getMdfUsrId());//修改人
         }
         return vo;
     }

     /**
      * VO 转 DTO
      * @param vo YsejdEntryDVO
      * @return YsejdEntryDDTO
      */
     public static YsejdEntryDDTO baseToDTO(YsejdEntryDVO vo) {
         YsejdEntryDDTO dto = null;
         if (vo != null) {
             dto = new YsejdEntryDDTO();
             dto.setId(vo.getId());
             dto.setYsejdEnteyListId(vo.getYsejdEnteyListId());//企业信息列表ID
             dto.setEntryId(vo.getEntryId());//详情ID
             dto.setResponseCode(vo.getResponseCode());//返回响应代码
             dto.setResponseMsg(vo.getResponseMsg());//返回响应代码说明
             dto.setDataType(vo.getDataType());//数据类型
             dto.setDataTypeId(vo.getDataTypeId());//数据类型ID
             dto.setMember(vo.getMember());//法庭成员
//             dto.setSortTm(vo.getSortTm());//立案时间

             dto.setClerkPhone(vo.getClerkPhone());//当值员电话
             dto.setCaseType(vo.getCaseType());//案件类别

             dto.setBody(vo.getBody());//内容

             dto.setTrialProcedure(vo.getTrialProcedure());//审理程序

             dto.setSentencingTm(vo.getSentencingTm());//判决日期

             dto.setOrganizer(vo.getOrganizer());//组织者
             dto.setFilingTm(vo.getFilingTm());//归档日期

             dto.setCourt(vo.getCourt());//法院名称
             dto.setAjlcStatus(vo.getAjlcStatus());//审理状态
             dto.setChiefJudge(vo.getChiefJudge());//主要法官
             dto.setCaseCause(vo.getCaseCause());//案由

             dto.setTrialLimitTm(vo.getTrialLimitTm());//审判限制日期
             dto.setClerk(vo.getClerk());//书记员

             dto.setJudge(vo.getJudge());//法官
             dto.setActionObject(vo.getActionObject());//诉讼标的
             dto.setPname(vo.getPname());//当事人

             dto.setCaseNo(vo.getCaseNo());//案号

             dto.setEffectiveTm(vo.getEffectiveTm());//有效日期

             dto.setBgTm(vo.getBgTm());//曝光日期
             dto.setPartyType(vo.getPartyType());//当事人类型
             dto.setProposer(vo.getProposer());//申请人
             dto.setIdcardNo(vo.getIdcardNo());//身份证/组织机构代码
             dto.setUnnexeMoney(vo.getUnnexeMoney());//未执行金额

             dto.setAddress(vo.getAddress());//地址
             dto.setYiJu(vo.getYiJu());//依据
             dto.setExecMoney(vo.getExecMoney());//标的金额

             dto.setAnYou(vo.getAnYou());//案由编码
             dto.setTitle(vo.getTitle());//标题

             dto.setJudgeResult(vo.getJudgeResult());//判决结果
             dto.setAnYouType(vo.getAnYouType());//案由编码类型

             dto.setCourtRank(vo.getCourtRank());//法院等级
             dto.setLayout(vo.getLayout());//版面
             dto.setGgType(vo.getGgType());//公告类型

             dto.setPlaintiff(vo.getPlaintiff());//原告
             dto.setCourtroom(vo.getCourtroom());//法庭名称
             dto.setDefendant(vo.getDefendant());//被告
             dto.setSex(vo.getSex());//性别
             dto.setLxqk(vo.getLxqk());//被执行人的履行情况

             dto.setYjCode(vo.getYjCode());//执行依据文号

             dto.setYjdw(vo.getYjdw());//做出执行依据单位

             dto.setJtqx(vo.getJtqx());//失信被执行人行为具体情形
             dto.setYiwu(vo.getYiwu());//生效法律文书确定的义务
             dto.setAge(vo.getAge());//年龄

             dto.setProvince(vo.getProvince());//省份

             dto.setPostTm(vo.getPostTm());//发布时间


             dto.setCrtTm(vo.getCrtTm());//创建时间
             dto.setCrtUsrId(vo.getCrtUsrId());//创建人
             dto.setMdfTm(vo.getMdfTm());//修改时间
             dto.setMdfUsrId(vo.getMdfUsrId());//修改人
         }
         return dto;
     }

	/**
	 * DTO 转  VO
	 * @param dto YsejdEntryDDTO
	 * @return YsejdEntryDVO
	 */
	public static YsejdEntryDVO toVO(YsejdEntryDDTO dto) {
		YsejdEntryDVO  vo = baseToVO(dto);
		//设置自定义扩展属性
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo YsejdEntryDVO
	 * @return YsejdEntryDDTO
	 */
	public static YsejdEntryDDTO toDTO(YsejdEntryDVO vo) {
		YsejdEntryDDTO dto = baseToDTO(vo);
		//设置自定义扩展属性
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list<YsejdEntryDDTO>
	 * @return List<YsejdEntryDVO>
	 */
	public static List<YsejdEntryDVO> toVOList(List<YsejdEntryDDTO> list) {
		List<YsejdEntryDVO>  voList = new ArrayList<YsejdEntryDVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (YsejdEntryDDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<YsejdEntryDVO>
	 * @return List<YsejdEntryDDTO>
	 */
	public static List<YsejdEntryDDTO> toDTOList(List<YsejdEntryDVO> list) {
		List<YsejdEntryDDTO>  dtoList = new ArrayList<YsejdEntryDDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (YsejdEntryDVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
